<?php

namespace Lettral\LetterBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 */
class Lettre {
    
    /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\generatedValue(strategy="AUTO")
    */
    protected $numLettre;
    
    /**
     * @ORM\Column(type="smallint")
     * @Assert\NotBlank()
     */
    protected $typeDest;
    
    /**
     * @ORM\ManyToOne(targetEntity="Lettral\UserBundle\Entity\user", inversedBy="lettres")
     * @ORM\JoinColumn(name="userId", referencedColumnName="id")
     */
    protected $user;
    
    /**
     * @ORM\Column(type="string",length="100",nullable="true")
     */
    protected $nref;
    
    /**
     * @ORM\Column(type="string",length="100",nullable="true")
     */
    protected $vref;

    /**
    * @ORM\Column(type="string",length="200")
    * @Assert\NotBlank()
    */ 
    protected $ouv;

    /**
    * @ORM\Column(type="string",length="50")
    * @Assert\NotBlank()
    */ 
    protected $sign;
    
    /**
    * @ORM\Column(type="string",length="100")
    * @Assert\NotBlank()
    */ 
    protected $sujet;
    
    /**
    * @ORM\Column(type="text",length="65535")
    * @Assert\NotBlank()
    */ 
    protected $contenu;
    
    /**
    * @ORM\Column(type="string",length="200")
    * @Assert\NotBlank()
    */ 
    protected $ferm;
    
    /**
    * @ORM\Column(type="string",length="200",nullable="true")
    */ 
    protected $pj1;
    
    /**
     * @ORM\Column(type="string",length="200",nullable="true")
     */
    protected $pj2;
    
    /**
     * @ORM\Column(type="string",length="200",nullable="true")
     */
    protected $pj3;
    
    /**
    * @ORM\Column(type="datetime")
    * @Assert\NotBlank()
    */
    protected $dateCreation;
    
    /**
    * @ORM\Column(type="datetime")
    * @Assert\NotBlank()
    */
    protected $dateDerModif;
    
    /**
     * @ORM\Column(type="date", nullable="false")
     * @Assert\NotBlank()
     */
    protected $dateEcriture;
    
    /**
     * @ORM\Column(type="datetime", nullable="true")
     */
    protected $dateGeneration;
    
    /**
     * @ORM\Column(type="string",length="50")
     * @Assert\NotBlank()
     */
    protected $lieuEcriture;
    
    /**
    * @ORM\Column(type="string",length="150")
    * @Assert\NotBlank()
    */
    protected $nomDest;
    
    /**
    * @ORM\Column(type="string",length="100", nullable="true")
    */
    protected $compNomDest1;
    
    /**
     * @ORM\Column(type="string",length="100", nullable="true")
     */
    protected $compNomDest2;
    
    /**
    * @ORM\Column(type="string",length="100", nullable="true")
    */
    protected $adresseDest;
   
    /**
    * @ORM\Column(type="integer",length="5", nullable="true")
    */
    protected $cpDest;
    
    /**
     * @ORM\Column(type="string",length="30", nullable="true")
     */
    protected $villeDest;
    
    /**
     * @ORM\Column(type="smallint", length="1", nullable="false")
     */
    protected $statut;
    
    public function getNumLettre() {
        return $this->numLettre;
    }

    public function setNumLettre($numLettre) {
        $this->numLettre = $numLettre;
    }

    public function getUser() {
        return $this->user;
    }

    public function setUser($user) {
        $this->user = $user;
    }

    public function getOuv() {
        return $this->ouv;
    }

    public function setOuv($ouv) {
        $this->ouv = $ouv;
    }

    public function getFerm() {
        return $this->ferm;
    }

    public function setFerm($ferm) {
        $this->ferm = $ferm;
    }

    public function getSign() {
        return $this->sign;
    }

    public function setSign($sign) {
        $this->sign = $sign;
    }

    public function getSujet() {
        return $this->sujet;
    }

    public function setSujet($sujet) {
        $this->sujet = $sujet;
    }

    public function getPj1() {
        return $this->pj1;
    }

    public function setPj1($pj1) {
        $this->pj1 = $pj1;
    }
    
    public function getPj2() {
    	return $this->pj2;
    }
    
    public function setPj2($pj2) {
    	$this->pj2 = $pj2;
    }
    
    public function getPj3() {
    	return $this->pj3;
    }
    
    public function setPj3($pj3) {
    	$this->pj3 = $pj3;
    }
    
    public function getContenu() {
        return $this->contenu;
    }

    public function setContenu($contenu) {
        $this->contenu = $contenu;
    }
    
    public function getDateCreation() {
        return $this->dateCreation;
    }

    public function setDateCreation($dateCreation) {
        $this->dateCreation = $dateCreation;
    }

    public function getDateDerModif() {
        return $this->dateDerModif;
    }

    public function setDateDerModif($dateDerModif) {
        $this->dateDerModif = $dateDerModif;
    }

    public function getNomDest() {
        return $this->nomDest;
    }

    public function setNomDest($nomDest) {
        $this->nomDest = $nomDest;
    }

    public function getCompNomDest1() {
        return $this->compNomDest1;
    }
    
    public function getCompNomDest2() {
    	return $this->compNomDest2;
    }

    public function setCompNomDest1($compNomDest1) {
        $this->compNomDest1 = $compNomDest1;
    }
    
    public function setCompNomDest2($compNomDest2) {
    	$this->compNomDest2 = $compNomDest2;
    }

    public function getAdresseDest() {
        return $this->adresseDest;
    }

    public function setAdresseDest($adresseDest) {
        $this->adresseDest = $adresseDest;
    }
    
    public function getCpDest() {
    	return $this->cpDest;
    }
    
    public function setCpDest($cpDest) {
    	$this->cpDest = $cpDest;
    }
    
    public function getVilleDest() {
    	return $this->villeDest;
    }
    
    public function setVilleDest($villeDest) {
    	$this->villeDest = $villeDest;
    }
    
    public function getLieuEcriture() {
    	return $this->lieuEcriture;
    }
    
    public function setLieuEcriture($lieuEcriture) {
    	$this->lieuEcriture = $lieuEcriture;
    }
    
	public function getDateEcriture() {
    	return $this->dateEcriture;
    }
    
    public function setDateEcriture($dateEcriture) {
    	$this->dateEcriture = $dateEcriture;
    }
    
    public function getDateGeneration() {
    	return $this->dateGeneration;
    }
    
    public function setDateGeneration($dateGeneration) {
    	$this->dateGeneration = $dateGeneration;
    }
    
    public function getTypeDest() {
        return $this->typeDest;
    }
    
    public function setTypeDest($typeDest) {
        $this->typeDest = $typeDest;
        return $this;
    }
    
    public function getVref() {
        return $this->vref;
    }
    
    public function setVref($vref) {
        $this->vref = $vref;
        return $this;
    }
    
    public function getNref() {
        return $this->nref;
    }
    
    public function setNref($nref) {
        $this->nref = $nref;
        return $this;
    }
    
    public function getStatut() {
        return $this->statut;
    }
    
    public function setStatut($statut) {
        $this->statut = $statut;
        return $this;
    }
}